package com.designpatterns.singleton;

import java.util.concurrent.TimeUnit;

/**
 * 懒汉单例模式
 * 需要synchronized控制线程安全
 * 没有资源浪费，在类家在的时候并没有创建对象实例，只有在第一次使用的时候才会创建
 * Created by mike on 18/1/1.
 */
public class SimpleSingleton {
    private static SimpleSingleton obj;

    private SimpleSingleton() {

    }

    public static synchronized SimpleSingleton getInstance() {
        if (null == obj) {
            try {
                TimeUnit.SECONDS.sleep(3);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            obj = new SimpleSingleton();
            return obj;
        } else {
            return obj;
        }
    }
}

